package com.me.dao.builder.SingletonPattern;

/**
 * 功能：刘智颖
 * 双检锁/双重校验锁（DCL，即 double-checked locking）
 * JDK 版本：JDK1.5 起
 *
 * 是否 Lazy 初始化：是
 *
 * 是否多线程安全：是
 *
 * 实现难度：较复杂
 *
 * 描述：这种方式采用双锁机制，安全且在多线程情况下能保持高性能。
 * getInstance() 的性能对应用程序很关键。
 *
 * @author：dongshibo(F_baisi)
 * @create：2019/1/25/025 11:47
 * @version：2019 Version：1.0
 * @company：老屋新房 Created with IntelliJ IDEA
 */
public class LzyPeopleModelBuilder {
	private volatile static LzyPeopleModelBuilder lzyPeopleModelBuilder;

	private LzyPeopleModelBuilder(){

	}

	public static LzyPeopleModelBuilder getLzyPeopleModelBuilder(){
		if(lzyPeopleModelBuilder==null){
			synchronized(LzyPeopleModelBuilder.class){
				if (lzyPeopleModelBuilder==null){
					lzyPeopleModelBuilder = new LzyPeopleModelBuilder();
				}
			}
		}
		return lzyPeopleModelBuilder;
	}

	public void show(){
		System.out.println("我刘智颖 你哪位?");
	}
}
